package com.zrar.ak.gkpt.service.manage;

import com.zrar.ak.gkpt.model.vo.UserVO;
import com.zrar.ak.gkpt.util.JsonPageResult;
import com.zrar.ak.gkpt.util.JsonResult;

/**
 * @InterfaceName: IManageRoleInfoService
 * @Description 角色管理Service层接口
 * @Author liyang
 * @Time 2020/04/03
 */
public interface IManageRoleInfoService {
    /**
     * 对角色信息进行增改删的操作
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult cudRoleInfo(JsonResult jsonResult, String formDataJson, UserVO userVO) throws Exception;

    /**
     * 获取角色信息列表(分页模糊查询)
     * @param jsonResult
     * @param currentPage
     * @param pageSize
     * @param roleName
     * @return
     */
    JsonPageResult getRoleInfoList(JsonPageResult jsonResult, int currentPage, int pageSize, String roleName);

    /**
     * 根据角色id获取该角色和数据库表字段的关联关系列表
     * @param jsonResult
     * @param roleId
     * @return
     */
    JsonResult getRoleFieldInfoListByRoleId(JsonResult jsonResult, String roleId);

    /**
     * 根据角色id修改其对应的数据库表的字段权限
     * @param jsonResult
     * @param formDataJson
     * @param roleId
     * @param userVO
     * @return
     */
    JsonResult updateRoleFieldInfo(JsonResult jsonResult, String formDataJson, String roleId, UserVO userVO) throws Exception;
}
